//    Copyright (C) Kherty.  All rights reserved.
using System.Windows;

namespace OpenLS.Chart.UI
{
    public class SeriesElement
    {


        public static object GetDataLabel(DependencyObject obj)
        {
            return (object)obj.GetValue(DataLabelProperty);
        }

        public static void SetDataLabel(DependencyObject obj, object value)
        {
            obj.SetValue(DataLabelProperty, value);
        }

        // Using a DependencyProperty as the backing store for DataLabel.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty DataLabelProperty =
            DependencyProperty.RegisterAttached("DataLabel", typeof(object), typeof(SeriesElement), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits));


        public static Marker GetMarker(DependencyObject obj)
        {
            return (Marker)obj.GetValue(MarkerProperty);
        }

        public static void SetMarker(DependencyObject obj, Marker value)
        {
            obj.SetValue(MarkerProperty, value);
        }

        // Using a DependencyProperty as the backing store for Marker.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty MarkerProperty =
            DependencyProperty.RegisterAttached("Marker", typeof(Marker), typeof(SeriesElement), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits));


        // Using a DependencyProperty as the backing store for Symbol.  This enables animation, styling, binding, etc...


        // Using a DependencyProperty as the backing store for Size.  This enables animation, styling, binding, etc...


        public static int   GetMaximumIndex(DependencyObject obj)
        {
            return (int)obj.GetValue(MaximumIndexProperty);
        }

        public static void SetMaximumIndex(DependencyObject obj, int value)
        {
            obj.SetValue(MaximumIndexProperty, value);
        }

        // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty MaximumIndexProperty=
            DependencyProperty.RegisterAttached("MaximumIndex", typeof(int), typeof(SeriesElement), new UIPropertyMetadata(0));



        public static Series GetSeries(DependencyObject obj)
        {
            return (Series)obj.GetValue(SeriesProperty);
        }

        public static void SetSeries(DependencyObject obj, Series value)
        {
            obj.SetValue(SeriesProperty, value);
        }

        // Using a DependencyProperty as the backing store for Series.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty SeriesProperty =
            DependencyProperty.RegisterAttached("Series", typeof(Series), typeof(SeriesElement), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits));


        public static int GetIndex(DependencyObject obj)
        {
            return (int)obj.GetValue(IndexProperty);
        }

        public static void SetIndex(DependencyObject obj, int value)
        {
            obj.SetValue(IndexProperty, value);
        }

        // Using a DependencyProperty as the backing store for Index.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty IndexProperty =
            DependencyProperty.RegisterAttached("Index", typeof(int), typeof(SeriesElement), new UIPropertyMetadata(0));


        public static double GetValue(DependencyObject obj)
        {
            return (double)obj.GetValue(ValueProperty);
        }

        public static void SetValue(DependencyObject obj, double value)
        {
            obj.SetValue(ValueProperty, value);
        }

        // Using a DependencyProperty as the backing store for Value.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ValueProperty =
            DependencyProperty.RegisterAttached("Value", typeof(double), typeof(SeriesElement), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsArrange | FrameworkPropertyMetadataOptions.AffectsParentArrange));





    }
}
